{
  "configuration": {
    "anti_spawn": {
      "properties": {
        "spawn_blacklist": {
          "comment": "Класс существа, список измерений, где существу нельзя спавниться, остальные разрешены",
          "type": "Map<CustomClass, Set<Integer>>",
          "default": {
            "net.minecraft.entity.boss.EntityDragon": [
              0,
              -1
            ]
          },
          "value": {
            "net.minecraft.entity.boss.EntityDragon": [
              0,
              -1
            ]
          }
        },
        "spawn_whitelist": {
          "comment": "Класс существа, список измерений, где существу можно спавниться, остальные запрещены",
          "type": "Map<CustomClass, Set<Integer>>",
          "default": {
            "net.minecraft.entity.boss.EntityDragon": [
              1
            ]
          },
          "value": {
            "net.minecraft.entity.boss.EntityDragon": [
              1
            ]
          }
        }
      }
    },
    "anti_place": {
      "properties": {
        "place_tiles_blacklist": {
          "comment": "Класс тайла, список измерений, где его запрещено ставить, остальные разрешены",
          "type": "Map<CustomClass, Set<Integer>>",
          "default": {
            "net.minecraft.tileentity.TileEntityCommandBlock": [
              0
            ]
          },
          "value": {
            "net.minecraft.tileentity.TileEntityCommandBlock": [
              0
            ]
          }
        },
        "place_tiles_whitelist": {
          "comment": "Класс тайла, список измерений, где его разрешено ставить, остальные запрещены",
          "type": "Map<CustomClass, Set<Integer>>",
          "default": {
            "net.minecraft.tileentity.TileEntityCommandBlock": [
              0
            ]
          },
          "value": {
            "net.minecraft.tileentity.TileEntityCommandBlock": [
              0
            ]
          }
        },
        "place_blocks_whitelist": {
          "comment": "Класс блока, список измерений, где его разрешено ставить, остальные запрещены",
          "type": "Map<CustomClass, Set<Integer>>",
          "default": {
            "net.minecraft.block.BlockCommandBlock": [
              0
            ]
          },
          "value": {
            "net.minecraft.block.BlockCommandBlock": [
              0
            ]
          }
        },
        "place_blocks_blacklist": {
          "comment": "Класс блока, список измерений, где его запрещено ставить, остальные разрешены",
          "type": "Map<CustomClass, Set<Integer>>",
          "default": {
            "net.minecraft.block.BlockCommandBlock": [
              0
            ]
          },
          "value": {
            "net.minecraft.block.BlockCommandBlock": [
              0
            ]
          }
        }
      }
    },
    "anti_interact": {
      "properties": {
        "interact_interval": {
          "comment": "Минимальная задержка между кликами в мс, чем больше - тем лучше защита, 0 для отключения",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 0,
          "value": 0
        },
        "interact_items_whitelist": {
          "comment": "Список предметов для игнорирования проверок",
          "type": "CustomStackList",
          "default": [],
          "value": []
        },
        "ignore_enchantment_ids": {
          "comment": "Список id зачарований на предмете в руке для игнорирования проверки",
          "range": "От -2147483648 до 2147483647",
          "type": "Set<Integer>",
          "default": [
            32
          ],
          "value": [
            32
          ]
        }
      }
    },
    "coordinates_validation": {
      "properties": {
        "worlds_blacklist_ban": {
          "comment": "Выдавать бан при попадании игрока в запрещенный мир из worlds_blacklist",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "overwrite_heights": {
          "comment": "Список миров и их размеров в формате: мир, минимальная и максимальная высота",
          "type": "Map<Integer, Pair<Integer, Integer>>",
          "default": {
            "-1": {
              "key": 0,
              "value": 127
            }
          },
          "value": {
          }
        },
        "general_coordinates_validation": {
          "comment": "Валидация координат по x и z",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "overwrite_worldsizes": {
          "comment": "Список миров и их размеров в формате мир:размер",
          "type": "Map<Integer, Integer>",
          "default": {
            "1": 10000
          },
          "value": {
            "1": 21000
              "0": 9000
              "-1": 4000
              "-100": 4000
              "112": 4000
              "-54": 1000
          }
        },
        "max_height": {
          "comment": "Максимальная высота по умолчанию для всех миров",
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": 256,
          "value": 256
        },
        "default_worldsize": {
          "comment": "Размер для всех миров по умолчанию",
          "range": "От 1 до 2147483647",
          "type": "int",
          "default": 8000,
          "value": 8000
        },
        "min_height": {
          "comment": "Минимальная высота по умолчанию для всех миров",
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": -256,
          "value": -256
        },
        "height_validation": {
          "comment": "Валидация координат по y",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "worlds_blacklist": {
          "comment": "Список ID миров, куда игрок не может попасть",
          "range": "От -2147483648 до 2147483647",
          "type": "List<Integer>",
          "default": [
            9999
          ],
          "value": [
            9999
          ]
        }
      }
    },
    "item_validation": {
      "properties": {
        "item_nullable_checks": {
          "comment": "Считать предмет невалидным если getItem вернул null",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "anvil": {
          "comment": "Валидация предметов в наковальне",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "item_negative_damage_checks": {
          "comment": "Считать предмет невалидным если его прочность < 0",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "max_potion_effect_level": {
          "comment": "Максимальный уровень эффектов у зелья",
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": 5,
          "value": 5
        },
        "shift_hotbar_containers_blacklist": {
          "comment": "Отмена нажатия кнопок 1-9 и шифта в контейнерах",
          "type": "CustomClassList",
          "default": [],
          "value": []
        },
        "enchantments_level": {
          "comment": "Валидация уровня зачарований предметов",
          "type": "boolean",
          "default": true,
          "value": false
        },
        "entity_interact_valid": {
          "comment": "Валидация предметов в руке игрока при взаимодействии с существами",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "containers_blacklist": {
          "comment": "Черный список имен классов контейнеров для валидатора",
          "type": "CustomClassList",
          "default": [
            "net.minecraft.inventory.ContainerMerchant"
          ],
          "value": [
            "net.minecraft.inventory.ContainerMerchant"
          ]
        },
        "drop": {
          "comment": "Валидация предметов при дропе",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "items_enchantment_blacklist": {
          "comment": "Черный список предметов для проверки зачарований",
          "type": "CustomStackList",
          "default": [],
          "value": []
        },
        "items_blacklist": {
          "comment": "Черный список предметов для валидатора",
          "type": "CustomStackList",
          "default": [],
          "value": []
        },
        "interact": {
          "comment": "Валидация предметов в руке игрока при взаимодействии с блоками",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "container_fake_slots_check": {
          "comment": "Проверка предметов на валидность в фейковых слотах контейнера",
          "type": "boolean",
          "default": false,
          "value": false
        },
        "general": {
          "comment": "Валидация предметов по основным свойствам",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "enchantments": {
          "comment": "Валидация зачарований предметов",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "max_potion_effects": {
          "comment": "Максимальное количество эффектов у зелья",
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": 8,
          "value": 8
        },
        "enchantments_overwrite": {
          "comment": "Список id зачарований и их максимального уровня для переопределения в формате id:lvl",
          "type": "List<String>",
          "default": [],
          "value": []
        },
        "pickup": {
          "comment": "Валидация предметов при поднятии",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "container": {
          "comment": "Валидация предметов при открытии контейнера",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "frame": {
          "comment": "Валидация предметов при установке на рамку",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "forbidden_items": {
          "comment": "Список запрещенных предметов (при нахождении этих предметов игрок будет баниться)",
          "type": "CustomStackList",
          "default": [],
          "value": []
        },
        "item_stacksize_checks": {
          "comment": "Считать предмет невалидным если размер стака более 64, менее 0 или более максимального значения",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "max_enchantment_level": {
          "comment": "Максимальный уровень зачарований",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 10,
          "value": 10
        }
      }
    },
    "player_validation": {
      "properties": {
        "block_break": {
          "comment": "Запрет поломки блоков при открытом инветаре",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "chat_containers_blacklist": {
          "comment": "Список имен классов контейнеров для возможности использования чата в них в нижнем регистре",
          "type": "CustomClassList",
          "default": [
            ".*.ContainerTravellersInv"
          ],
          "value": [
            ".*.ContainerTravellersInv"
          ]
        },
        "pitch_validation": {
          "comment": "Проверка на то, является ли pitch числом и конечным числом",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "quit": {
          "comment": "Закрытие инвентаря при выходе из игры. Включение не желательно, не ясно зачем эта функция.",
          "type": "boolean",
          "default": false,
          "value": false
        },
        "command_exclusions": {
          "comment": "Список команд, которые можно выполнять в открытых контейнерах",
          "type": "Set<String>",
          "default": [
            "give"
          ],
          "value": [
            "give"
          ]
        },
        "player_deduplication": {
          "comment": "Фикс бага с дюпом игроков при входе",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "held_item_change_fix": {
          "comment": "Полный запрет смены текущего предмета при открытом контейнере",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "exp_validation": {
          "comment": "Проверка на то, является ли кол-во опыта числом и конечным числом",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "no_fast_move_worlds_notify": {
          "comment": "Уведомлять игрока при входе в мир, если быстрое перемещение в нем запрещено",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "chat": {
          "comment": "Запрет использования чата при открытом инвентаре",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "entity_interact_containers_blacklist": {
          "comment": "Список имен классов существ для обхода проверки",
          "type": "CustomClassList",
          "default": [],
          "value": []
        },
        "command": {
          "comment": "Запрет использования команд при открытом инвентаре",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "entity_interact_distance_overwrite": {
          "comment": "Список классов существ и максимальной дистанции до них для переопределения в формате entity:distance",
          "type": "List<String>",
          "default": [],
          "value": []
        },
        "player_inventory_check_cooldown": {
          "comment": "Кулдаун перепроверки инвентарей игроков на наличие запрещенных предметов в миллисекундах",
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": 500,
          "value": 500
        },
        "check_tile": {
          "comment": "Проверять существование, валидность и загруженность чанка тайла, у которого открыт ивентарь игроков в данный момент",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "check_is_chunk_loaded": {
          "comment": "Проверка на то, загружен ли чанк в том месте, где находится игрок (Опасно при телепортации между мирами)",
          "type": "boolean",
          "default": false,
          "value": false
        },
        "no_fast_move_worlds": {
          "comment": "Список ID миров, в которых нельзя быстро перемещаться. /op позволяет обойти данный запрет",
          "range": "От -2147483648 до 2147483647",
          "type": "Set<Integer>",
          "default": [],
          "value": []
        },
        "creative": {
          "comment": "Список игроков, которые могут иметь режим креатива. * для отключения.",
          "type": "Set<String>",
          "default": [
            "*"
          ],
          "value": [
            "*"
          ]
        },
        "command_containers_blacklist": {
          "comment": "Список имен классов контейнеров для возможности выполнения команд в них",
          "type": "CustomClassList",
          "default": [
            ".*.ContainerTravellersInv"
          ],
          "value": [
            ".*.ContainerTravellersInv"
          ]
        },
        "check_entity": {
          "comment": "Проверять валидность существа, через которое был открыт контейнер",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "check_attack": {
          "comment": "Проверка на то, не атаковал ли игрок себя",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "block_place": {
          "comment": "Запрет размещения блоков при открытом инветаре",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "no_fly_worlds_notify": {
          "comment": "Уведомлять игрока при входе в мир, если полет в нем запрещен",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "general_interact": {
          "comment": "Запрет взаимодействия с миром при открытом инветаре",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "no_sprint_worlds": {
          "comment": "Список ID миров, в которых нельзя бегать. /op позволяет обойти данный запрет",
          "range": "От -2147483648 до 2147483647",
          "type": "Set<Integer>",
          "default": [],
          "value": []
        },
        "general_interact_containers_blacklist": {
          "comment": "Список имен классов контейнеров для обхода проверки взаимодействия с ними при открытом инветаре",
          "type": "CustomClassList",
          "default": [],
          "value": []
        },
        "no_sprint_worlds_notify": {
          "comment": "Уведомлять игрока при входе в мир, если бег в нем запрещен",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "join": {
          "comment": "Закрытие инвентаря при входе в игру. Включение не желательно, не ясно зачем эта функция.",
          "type": "boolean",
          "default": false,
          "value": false
        },
        "max_level": {
          "comment": "Макс кол-во уровней опыта игрока, 0 - проверка выкл",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 2500,
          "value": 0
        },
        "tiles_containers_blacklist": {
          "comment": "Черный список имен классов контейнеров у тайлов для отключения проверки возможности взаимодействия с ними",
          "type": "CustomClassList",
          "default": [],
          "value": []
        },
        "interact_distance_overwrite": {
          "comment": "Список классов блоков и максимальной дистанции до них для переопределения в формате block:distance",
          "type": "List<String>",
          "default": [],
          "value": []
        },
        "items_interact_blacklist": {
          "comment": "Список предметов, с которыми нельзя взаимодействовать в определённых мирах на пкм и(или) лкм. Формат: item_name:metadata|worldID1,worldID2,...|disable_left_click(true/false)|disable_right_click(true/false)",
          "type": "Map<CustomStack, DenyInteractionEntry>",
          "default": [
            [
              {
                "item": "minecraft:stone",
                "amount": 1,
                "meta": "0"
              },
              {
                "worlds": [
                  -1,
                  0,
                  1
                ],
                "denyLeftClick": false,
                "denyRightClick": false
              }
            ]
          ],
          "value": [
            [
              {
                "item": "minecraft:stone",
                "amount": 1,
                "meta": "0"
              },
              {
                "worlds": [
                  -1,
                  0,
                  1
                ],
                "denyLeftClick": false,
                "denyRightClick": false
              }
            ]
          ]
        },
        "close_container_on_death": {
          "comment": "Закрытия инвентаря при смерти игрока",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "teleport": {
          "comment": "Закрытие инвентаря при телепортации жемчугом",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "max_distance_to_container": {
          "comment": "Макс дистанция до открытого контейнера, 0 - проверка выкл",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 50,
          "value": 50
        },
        "sleep": {
          "comment": "Запрет ложиться в кровать при открытом инвентаре",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "bedrock_break_fix": {
          "comment": "Полный запрет поломки бедрока любыми способами на высоте Y=0 в обычном мире, Y=0 и Y=127 - в аду",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "death": {
          "comment": "Запрет всех действий кроме воскрешения, если игрок мертв",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "no_fly_worlds": {
          "comment": "Список ID миров, в которых нельзя летать. /op позволяет обойти данный запрет",
          "range": "От -2147483648 до 2147483647",
          "type": "Set<Integer>",
          "default": [],
          "value": []
        },
        "yaw_validation": {
          "comment": "Проверка на то, является ли yaw числом и конечным числом",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "entity_interact": {
          "comment": "Запрет взаимодействия с существами при открытом инвентаре",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "change_dim": {
          "comment": "Закрытие инвентаря при смене мира",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "spawn": {
          "comment": "Закрытие инвентаря при респавне",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "place_break_error_factor": {
          "comment": "Время в миллисекундах, после которого новые проверки валидности установки и поломки блоков будут сброшены. При 0 античит будет проверять все пакеты без исключения, что может вызвать иногда ложные срабатывания.",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 750,
          "value": 750
        },
        "check_item": {
          "comment": "Проверять присутствие в руке предмета, через который был открыт контейнер",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "wakeup": {
          "comment": "Закрытие инвентаря при подъеме",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "craft_fix": {
          "comment": "Фикс нагрузки сервера через окно крафта игрока (DANGER)",
          "type": "boolean",
          "default": false,
          "value": false
        },
        "max_health": {
          "comment": "Макс кол-во хп игрока, 0 - проверка выкл",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 200,
          "value": 200
        },
        "ops": {
          "comment": "Список игроков, которые могут иметь op. * для отключения.",
          "type": "Set<String>",
          "default": [
            "*"
          ],
          "value": [
            "*"
          ]
        },
        "max_entity_interact_distance": {
          "comment": "Макс дистанция до существа при интеракте, 0 - проверка выкл",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 12,
          "value": 12
        },
        "max_interact_distance": {
          "comment": "Макс дистанция до блока при интеракте, 0 - проверка выкл",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 12,
          "value": 12
        },
        "max_entity_pickup_xp_distance": {
          "comment": "Макс дистанция до сферы опыта при поднятии, 0 - проверка выкл",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 6,
          "value": 6
        },
        "max_pickup_distance": {
          "comment": "Макс дистанция до предмета во время поднятия, 0 - проверка выкл",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 5,
          "value": 5
        }
      }
    },
    "entity_validation": {
      "properties": {
        "mobs_pickup_allowed": {
          "comment": "Список классов мобов, которые могут поднимать предметы, если mob_item_pickup = false",
          "type": "CustomClassList",
          "default": [],
          "value": []
        },
        "zombie_item_pickup": {
          "comment": "Возможность зомби поднимать предметы",
          "type": "boolean",
          "default": false,
          "value": false
        },
        "hanging_validation": {
          "comment": "Фикс возможности установки картин и рамок на 1 блок",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "entities_no_despawn": {
          "comment": "Список классов мобов, которые не будут деспавниться",
          "type": "CustomClassList",
          "default": [
            "net.minecraft.entity.boss.EntityDragon"
          ],
          "value": [
            "net.minecraft.entity.boss.EntityDragon"
          ]
        },
        "mob_item_pickup": {
          "comment": "Возможность монстрам поднимать предметы",
          "type": "boolean",
          "default": false,
          "value": false
        },
        "death_interact_fix": {
          "comment": "Фикс дюпа при попытке использования существа, если оно мертво",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "mooshroom_dupe_fix": {
          "comment": "Фикс дюпа грибных коров",
          "type": "boolean",
          "default": true,
          "value": true
        }
      }
    },
    "portal_validation": {
      "properties": {
        "portal_only_players": {
          "comment": "Запрет прохождения через порталы в ад и край всех, кроме игроков",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "entities_portal_whitelist": {
          "comment": "Список классов существ, которые могу проходить через порталы помимо игрока",
          "type": "CustomClassList",
          "default": [
            ".*.EntityFollower"
          ],
          "value": [
            ".*.EntityFollower"
          ]
        }
      }
    },
    "packets_validation": {
      "properties": {
        "c02_validation": {
          "comment": "Валидатор пакета C02PacketUseEntity. Защита от киллауры и прочих побочных действий от этого пакета.",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "c17_max_count": {
          "comment": "Максимально допустимое кол-во C17PacketCustomPayload от игрока за 2.5 сек",
          "range": "От 1 до 2147483647",
          "type": "int",
          "default": 500,
          "value": 500
        },
        "c02_validation_blacklist": {
          "comment": "ЧС существ валидатора пакета C02PacketUseEntity",
          "type": "CustomClassList",
          "default": [
            "vazkii.botania.common.entity.EntitySpark"
          ],
          "value": [
            "vazkii.botania.common.entity.EntitySpark"
          ]
        },
        "c07_validation": {
          "comment": "Валидатор пакета C07PacketPlayerDigging. Защита от невалидных поломок блока (нукеров и тому подобное).",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "c0a_validation": {
          "comment": "Валидатор пакета C0APacketAnimation. Защита от невалидных апдейтов предмета в руке.",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "sign_cooldown": {
          "comment": "Кулдаун для пакета MC|BSign в миллисекундах. 0 для отключения.",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 3000,
          "value": 3000
        },
        "c17_short_max_sizes": {
          "comment": "Ограничение размера short с разделением по каналам в формате канал:максимальная длина.",
          "type": "Map<String, Integer>",
          "default": {
            "MC|BEdit": 300,
            "MC|AdvCdm": 300,
            "MC|BSign": 700,
            "MC|ItemName": 300,
            "MC|TrSel": 300,
            "MC|Beacon": 300
          },
          "value": {
            "MC|BEdit": 300,
            "MC|AdvCdm": 300,
            "MC|BSign": 700,
            "MC|ItemName": 300,
            "MC|TrSel": 300,
            "MC|Beacon": 300
          }
        },
        "c08_validation": {
          "comment": "Валидатор пакета C08PacketPlayerBlockPlacement. Защита от невалидных установок блока (фастплейс и подобное).",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "c17_limit": {
          "comment": "Ограничение кол-ва пакетов C17PacketCustomPayload от игрока",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "c17_short_max_size": {
          "comment": "Максимальный размер short в C17PacketCustomPayload, если лимит по каналу в c17_short_max_sizes не задан",
          "range": "От 1 до 2147483647",
          "type": "int",
          "default": 32767,
          "value": 32767
        },
        "edit_cooldown": {
          "comment": "Кулдаун для пакета MC|BEdit в миллисекундах. 0 для отключения.",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 1500,
          "value": 1500
        },
        "c08_cooldown": {
          "comment": "Кулдаун установки блоков в мс для C08PacketPlayerBlockPlacement",
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": 50,
          "value": 50
        }
      }
    },
    "mods_checker": {
      "properties": {
        "mods_blacklist": {
          "comment": "Список модов, с которыми игроку нельзя будет зайти на сервер. Поиск по строке с помощью регулярных выражений.",
          "type": "List<String>",
          "default": [
            ".*xenobyte.*"
          ],
          "value": [
            ".*xenobyte.*"
          ]
        }
      }
    },
    "server_anonymize": {
      "properties": {
        "hide_mods": {
          "comment": "Скрывать список модов и форж на сервере",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "skip_mcbrand": {
          "comment": "Пропускать отправку пакета MC|Brand на клиент с информацией о платформе сервера",
          "type": "boolean",
          "default": true,
          "value": true
        }
      }
    },
    "anti_dupe": {
      "properties": {
        "aabb_entities_check": {
          "comment": "Список классов существ для проверки, живо ли существо при его получении через коллизии. Защита от дюпа и прочих непредусмотренных действий. Для полной проверки впишите '.*.Entity'.",
          "type": "CustomClassList",
          "default": [
            "net.minecraft.entity.item.EntityItem"
          ],
          "value": [
            "net.minecraft.entity.item.EntityItem"
          ]
        }
      }
    },
    "network": {
      "properties": {
        "tcp_no_delay": {
          "comment": "Установка флага tcp no delay для всех соединений",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "correct_channel_closing": {
          "comment": "Более правильный вариант метода закрытия канала между сервером и игроком",
          "type": "boolean",
          "default": true,
          "value": true
        }
      }
    },
    "command_templates": {
      "properties": {
        "senders_blacklist": {
          "comment": "Полные имена классов сендеров, от которых нельзя выполнять команды",
          "type": "CustomClassList",
          "default": [
            "net.minecraft.network.rcon.RConConsoleSource"
          ],
          "value": [
            "net.minecraft.network.rcon.RConConsoleSource"
          ]
        },
        "ban_command": {
          "comment": "Формат команды бана игрока по нику",
          "type": "String",
          "default": "ban %s %s",
          "value": "ban %s %s"
        }
      }
    },
    "server_validation": {
      "properties": {
        "mods_gui_exclusions": {
          "comment": "Список исключений контейнеров для проверки валидности блока в формате ModName:ID",
          "type": "Map<String, Set<Integer>>",
          "default": {
            "Thaumcraft": [
              0,
              1,
              2
            ]
          },
          "value": {
            "Thaumcraft": [
              0,
              1,
              2
            ]
          }
        },
        "fixLog4jExploit": {
          "comment": "Запретить отправлять в чат сообщения, выполнять команды, называть предметы текстом, содержащим ${. Костыльная правка эксплоита log4j2",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "flyDetectFactor": {
          "comment": "Фактор обнаружения чита на полёт. Чем меньше значение - тем быстрее среагирует анти-чит, однако, при маленьких значениях могут быть ошибочные срабатывания на обычный спринт с прыжками",
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": 14,
          "value": 14
        },
        "disable_double_chest_rotation": {
          "comment": "Отключение поворота двойных сундуков (фикс кучи багов)",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "villages_fix": {
          "comment": "Фикс бага с прогрузкой мира из-за попытки получения двери деревней",
          "type": "boolean",
          "default": true,
          "value": true
        }
      }
    },
    "anti_xray": {
      "properties": {
        "enableAntiXray": {
          "comment": "Включить маскировку блоков",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "blockMappings": {
          "comment": "Список маскировочных блоков для руд в мирах. Ключи основной карты - DIM миров. Значения внутри: блок руды -> маскировочный блок. Значение 32767 означает руду с любой метадатой",
          "type": "HashMap<Integer, HashMap<BlockEntry, BlockEntry>>",
          "default": {
            "0": [
              [
                {
                  "block": "minecraft:diamond_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:iron_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:emerald_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:redstone_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:coal_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:lit_redstone_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:gold_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:lapis_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ]
            ],
            "-1": [
              [
                {
                  "block": "minecraft:quartz_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:netherrack",
                  "meta": 0
                }
              ]
            ]
          },
          "value": {
            "0": [
              [
                {
                  "block": "minecraft:diamond_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:iron_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:emerald_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:redstone_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:coal_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:lit_redstone_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:gold_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ],
              [
                {
                  "block": "minecraft:lapis_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:stone",
                  "meta": 0
                }
              ]
            ],
            "-1": [
              [
                {
                  "block": "minecraft:quartz_ore",
                  "meta": 32767
                },
                {
                  "block": "minecraft:netherrack",
                  "meta": 0
                }
              ]
            ]
          }
        }
      }
    },
    "logging": {
      "properties": {
        "log4j_exploit_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "max_level_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "c08_validation_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "bSign_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "forbidden_item_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "c17_limit_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "creative_hack_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "cheat_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "invalid_interact_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "max_exp_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "containers_validation_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "containers_block_validation_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "c0a_validation_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "op_hack_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "coords_validation_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "max_hp_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "invalid_item_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "death_attack_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "blacklisted_world_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "c17_size_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "click_limit_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "bEdit_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "attack_myself_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "cmd_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "c09_validation_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "death_interact_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "entity_spawn_log": {
          "type": "boolean",
          "default": true,
          "value": true
        },
        "advCmd_log": {
          "type": "boolean",
          "default": true,
          "value": true
        }
      }
    },
    "meta_change": {
      "properties": {
        "blocks_watch": {
          "comment": "Список блоков, которые будут проверяться на подмену метадаты в мире",
          "type": "CustomStackList",
          "default": [
            {
              "item": "minecraft:fire",
              "amount": 1,
              "meta": "0"
            }
          ],
          "value": [
            {
              "item": "minecraft:fire",
              "amount": 1,
              "meta": "0"
            }
          ]
        }
      }
    }
  }
}